﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MemoryDuosControl;

namespace MemoryDuosInterfaz
{
    public partial class AltaPublicidad : Form
    {
        private List<Empresa> listaEmpresas;
        private string ruta;

        public AltaPublicidad()
        {
            InitializeComponent();
            //this.FormBorderStyle = 0;
        }

        private void AltaPublicidad_Load(object sender, EventArgs e)
        {
            ActualizarCombo();
        }

        private void ActualizarCombo()
        {
            comboBoxEmpresas.Items.Clear();
            listaEmpresas = AccesoEmpresa.ObtenerEmpresas();
            if (listaEmpresas != null)
            {
                foreach (var emp in listaEmpresas)
                {
                    comboBoxEmpresas.Items.Add(emp.Nombre);
                }
                comboBoxEmpresas.SelectedIndex = 0;
            }
        }

        private void buttonBanner_Click(object sender, EventArgs e)
        {
            var result = openFileDialogImagen.ShowDialog();
            if (result == DialogResult.OK)
            {
                ruta = openFileDialogImagen.FileName;
                pictureBoxBanner.Image = Image.FromFile(ruta);
            }
        }

        private void buttonInsertarAnuncio_Click(object sender, EventArgs e)
        {
            if (comboBoxEmpresas.SelectedIndex > -1)
            {
                if (ruta != null)
                {
                    if (dateTimePickerAlta.Value < dateTimePickerBaja.Value && dateTimePickerAlta.Value > DateTime.Now)
                    {
                        int indice = comboBoxEmpresas.SelectedIndex;
                        var cif = listaEmpresas.ElementAt(indice).CIF;
                        DateTime FechaInicio = dateTimePickerAlta.Value;
                        DateTime FechaFin = dateTimePickerBaja.Value;
                        Double precio = 0;
                        Image image = Image.FromFile(ruta);
                        Anuncio anun = new Anuncio { EmpresaCIF = cif, FechaFin = FechaFin.Date, FechaInicio = FechaInicio.Date, Precio = precio };

                        try
                        {
                            AccesoAnuncio.RegistrarAnuncio(anun, ruta);
                            this.Close();
                        }
                        catch (Exception exc)
                        {
                            MessageBox.Show(exc.Message);
                        }
                    }
                    else MessageBox.Show("La fecha de Alta del anuncio no puede ser posterior a la de baja, ni tampoco puede ser anterior a la fecha actual", "MemoryDuos", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else MessageBox.Show("No ha sido definida una imagen para el anuncio, por favor escoja una.", "MemoryDuos", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
    }
}
